package main

import (
	"fmt"
	"io/ioutil"
	"net"
	"os"
)

func main() {
	addr := ":8899"
	fmt.Printf("Listen at port%s \n", addr)
	tcpAddr, err := net.ResolveTCPAddr("tcp4", addr)
	checkError(err)
	ser, err := net.ListenTCP("tcp", tcpAddr)
	checkError(err)
	for {
		conn, err := ser.Accept()
		if err != nil {
			continue
		}
		go handleClient(conn)
	}
}

func checkError(err error) {
	if err != nil {
		fmt.Fprintf(os.Stderr, "Fatal error: %s\n", err.Error())
		os.Exit(1)
	}
}

func handleClient(conn net.Conn) {
	defer conn.Close() //千万不要忘写这个
	remote := conn.RemoteAddr().String()
	fmt.Println(remote)

	//增加读文件，发送文件
	file, err := os.Open("server.exe")
	checkError(err)
	content, err := ioutil.ReadAll(file)
	checkError(err)
	conn.Write(content)
}
